apt 使用方法

2025-10-23 22:59:07 [GNU/Linux] [教程]

贡献者:Wechox

apt 是 Debian 发行版或其它基于 Debian 的发行版上的软件包管理器,通常在安装系统时默认安装。它可以看作是通过命令行使用的“软件商店”,使用时需要打开一个虚拟终端或终端模拟器,然后在其中输入命令来管理软件。本文以 Debian 13 为例,介绍一些常用的 apt 命令(基本适用于 Debian 系发行版)。

安装/卸载软件等操作需要超级用户权限,需要切换为 root 用户或使用 sudo 提权。 推荐使用 sudo ,下文中所有需要超级用户权限的命令前都会加上 sudo (没有 sudo 的意味着不需要)。在单个终端中首次使用 sudo 或间隔一段时间后需要输入用户密码。

启用镜像源

官网的软件源通常下载速度比较慢,这时我们可以使用国内的镜像源来加速下载(如果已启用请忽略)。可以在搜索引擎中搜索“xxx(发行版)镜像源”来查找,比如搜索‘Debian 13 镜像源’。

下面是 Debian 的一些推荐的镜像源:

更新软件列表

更新软件列表的命令为:

sudo apt update

软件列表相当于一份菜单,告诉 apt 软件仓库中有哪些软件可以安装。任何时候,只要你认为本地的“菜单”与软件源服务器的“菜单”不同步时,都可以更新它。这个命令不会更改你系统中的任何软件,所以它总是“安全”的。通常,在更新软件源后或安装/更新软件前需要更新软件列表。

查找软件

在安装软件前,我们需要知道软件包的具体名字。除非你已经确定了所需软件的完整包名,否则我们通常需要用到以下搜索命令:

apt search xxx

xxx 处应该输入你想搜索的字符,支持正则表达式(需要用英文单引号 '' 或双引号 "" 包起来)。例如 apt search nethacknethack 是一款运行在终端的地牢类肉鸽游戏)。

然后,我们会进入一个交互式的界面(如果你的 Debian 版本在 12 及以下那么上面的命令会输出一个长长的列表,可以通过滚轮滚动查看)。在这个界面中,可以通过按键来浏览所有匹配的内容,下面是一些常用的按键。

按键 作用
j 向下滚动一行
k 向上滚动一行
f 下一页
b 上一页
h 打开帮助页面(按 q 退出)
q 退出当前页面
/xxx(按回车) 在结果中搜索 xxx(xxx 为需要搜索的字符)
n 下一个搜索结果
N 上一个搜索结果

由于 apt search 是在软件包描述信息中搜索指定字符,所以搜索结果中可能会出现很多我们不需要的包,这时我们可以用上面的 /xxx(加回车)来二次搜索。例如我在 apt search nethack 的搜索结果中输入 /nethack(加回车),得到下图的结果。 nethack 搜索结果 在这里我需要的是终端版本的 nethack,也就是图中的 nethack-console,记下这个软件包名,然后按 q 退出。

如果还想查看关于该软件更详细的信息,可以使用下面命令:

apt show xxx

其中 xxx 应为软件包的完整包名。例如,运行 apt show nethack-console 的结果如下图所示: apt显示软件详细信息 同样可以使用上面介绍的按键进行浏览和搜索。

安装软件

在知道了软件包的完整包名后就可以安装软件了。安装软件的命令如下:

sudo apt install xxx

xxx 处应该输入软件包的完整包名。例如 sudo apt install nethack-console。这时你会得到类似下图的输出。 apt安装过程示例 其中:

  • Installing 列出正在安装的软件包,
  • Installing dependencies 列出需要安装的依赖(会自动安装),
  • Suggested packages 列出推荐安装的相关软件包(不会自动安装),
  • Summary 是关于安装过程的一些统计信息,
  • Continue? [Y/n] 询问是否继续(大写的 Y 表示默认是 y,即 yes)。

然后,按回车或 y 加回车即可开始安装;按 n 加回车即可取消本次安装。如果开始安装,终端中会输出一长串信息,等待命令执行结束就完成安装了。

如果输出 Error 信息(通常为红色),意味出现错误,本次安装失败; 如果输出 Warnning 信息(通常为黄色),意味着有需要注意的信息。

当然,也可以一次安装多个软件包:

sudo apt install xxx yyy zzz

更新软件

一般我们会更新所有的(用 apt 管理的)软件包:

sudo apt upgrade

记得更新软件前先更新软件列表,也可以两者写作一行命令:

sudo apt update && sudo apt upgrade

卸载软件

想要卸载某个特定的软件包可以使用卸载命令:

sudo apt remove xxx

有时,我们想要在卸载软件包的同时把它的配置文件删除(默认不删除配置文件,方便再次安装时保留之前配置),可以加上 --purge 参数:

 sudo apt remove --purge xxx

在卸载完某些软件包后,系统中可能存在之前作为依赖被安装的包已经不被需要的情况,这时可以用下面的命令来卸载这些无用的依赖:

sudo apt autoremove

也可以把卸载软件包和无用依赖写作一个命令:

sudo apt autoremove xxx

列出软件列表

可以用下面的命令列出所有软件包(包括已安装和未安装的):

apt list

该命令与查找软件类似,会进入一个可交互的终端界面,可以一样的方式进行浏览和搜索。

此外还可以列出所有已安装软件包:

apt list --installed

或者列出所有手动安装的软件包:

apt list --manual-installed

清理缓存

在每个软件包安装时,都会下载相应的 .deb 包,可以理解为安装包。在完成软件安装后并不会自动删除。在硬盘空间不足时,可以清理这些软件包来节省空间。

运行下面的命令用来清理过时的或已卸载的软件包缓存:

sudo apt autoclean

也可以运行下面的命令来清理全部软件包缓存:

sudo apt clean

软件包缓存的作用有便于版本回退、避免重新安装时再次下载等,但是清除软件包缓存并不会影响已安装的软件,一般情况下可以放心清理。

进阶技巧

extrepo 添加第三方软件源

对于官方软件源中没有的软件包,我们通常可以去相应软件的官网查找适合的软件版本,但是有没有一种方式直接通过 apt 来管理和查找呢?这是就可以使用添加第三方软件源的方式来实现(需要软件提供方支持)。而 extrepo 这个软件包可以很方便地添加一些常见的软件源。

比如,我们想安装 Zotero(一款自由的文献管理工具),通过 apt search zotero 发现 Debian 官方软件源并没有 Zotero 软件的本体。这时我们可以直接去 Zotero 的官网下载相应的安装包,也可以尝试使用 extrepo 添加 zotero 的软件源。

首先,初次使用时要先安装 extrepo

sudo apt install extrepo

更新 extrepo 软件源元数据:

extrepo update

查找 zotero 软件:

extrepo search zotero

如果有找到相应的软件源,会输出 Found xxx: ……。这里是 Found zotero,所以我们知道了在名为 zotero 的软件源中有 zotero 这个软件包。

接下来启用 zotero 软件源(即上一步中找到的软件源的名称):

sudo extrepo enable zotero

这时,运行 sudo apt update 更新以下软件列表后,就可用通过 apt 来查找、安装和更新 zotero 软件包了。其他的 Debian 官方软件源中没有的软件也可以尝试使用这种方式来安装管理。